package com.auicyh.tylb.utils;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.annotation.StringRes;
import android.widget.Toast;

/**
 * 作者：  Ocean 2018/8/22 11:07
 * 信息：  Oil com.auicyh.tylb.utils
 * 功能：  一些常用的小方法
 * 邮箱：   1126067113@qq.com
 * 修改人：
 * 公司: 北京天元陆兵汽车科技有限公司
 * @author Ocean
 */
public class LittleMethods {

    private static Toast sToast;

    /**
     * Toast提示
     * @param context 上下文
     * @param str     提示语
     */
    @SuppressLint("ShowToast")
    public static void showToast(@NonNull Context context, @NonNull String str) {
        if (sToast == null) {
            sToast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
        } else {
            sToast.setText(str);
        }
        sToast.show();
    }

    /**
     * Toa提示
     * @param context 上下文
     * @param str     资源ID
     */
    @SuppressLint("ShowToast")
    public static void showToast(@NonNull Context context, @StringRes int str) {
        if (sToast == null) {
            sToast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
        } else {
            sToast.setText(str);
        }
        sToast.show();
    }

    /**
     * 获取版本名
     * @param context 上下文
     * @return 返回版本名
     */
    public static String getApkVersionName(Context context) {
        String versionName = "Bate0.1";
        try {
            PackageManager manager = context.getPackageManager();
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            versionName = info.versionName;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return versionName;
    }

    /**
     * 获取版本号
     * @param context 上下文
     * @return 版本号
     */
    public static int getApkVersionCode(Context context) {
        PackageManager pm = context.getPackageManager();
        int versionCode = 0;
        try {
            versionCode = pm.getPackageInfo(context.getPackageName(),
                    PackageManager.GET_CONFIGURATIONS).versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return versionCode;
    }

}
